package Supplier;

import java.util.function.Supplier;

/*
Supplier<T>包含一个个无参的方法
    T get():获得结果
    该方法不需要参数，他会按照某种实现逻辑（由Lambda表达式实现）返回一个数据
    Supplier<T>接口也被成为生产型接口，
    如果我们指定了接口的泛型是什么类型，那么接口中的get方法就会生产什么类型的数据供我们使用
 */
public class SupplierDemo {
    public static void main(String[] args) {
        //Lambda表达式
//        String s=getString(()->{
//            return "姜恒星";
//        });//返回字符串数据并接收
        String s=getString(()->"姜恒星");
        System.out.println(s);

        //返回Integer类型的数据
//        Integer i=getInteger(()->{
//            return 1;
//        });
        Integer i=getInteger(()->1);
        System.out.println(i);
    }

    //定义一个方法返回整数数据
    private static Integer getInteger(Supplier<Integer> sup){
        return sup.get();
    }

    //定义一个方法返回字符串数据
    private static String getString(Supplier<String> sup){
        return sup.get();
    }
}
